1. Field of the Invention
Embodiments of the invention generally relate to processors.
2. Description of the Related Art
In many computer systems blocks of memory or pages may be allocated to programs or processes executing on the computer system. Pages may be allocated in order to separate the memory space used by the various processes executing on the computer system. This separation ensures that one process does not overwrite data being used by or associated with another process. The address space assigned to a process may be a range of virtual memory addresses for pages of data which are mapped to physical locations of the data located within the main memory or disk memory of a computer system.
In order to locate page data within the computer system, the processor may use page tables to translate virtual memory addresses into physical memory addresses. Page tables may contain a plurality of entries which map virtual memory addresses to the physical memory addresses where the page data is located in memory (e.g., main memory or disk memory).
In addition to a virtual page address and a corresponding real page address, each page table entry or row may also contain status bits. The status bits may indicate the status of the page data located at the physical memory address. For example, one status bit may indicate if the page data corresponding to a virtual memory address is located in main memory or is located in disk memory.
Each page table entry may also include attribute bits. The attribute bits may indicate specific attributes associated with the page data for an entry. Specifically, the attribute bits may indicate which level of cache may be bypassed when processing the data.